/* 云路供应链科技有限公司 版权所有 © Copyright 2020 */
package com.yupi.usercenter.basic.enums;

public enum CategoryEnum {
    FUNCTIONAL_TYPES_NETWORK_PIE(27, "ZD09", "21", "派件", "功能类型"),
    FUNCTIONAL_TYPES_NETWORK_COLLECTION(111, "ZD09", "22", "收派", "功能类型"),
    FUNCTIONAL_TYPES_NETWORK_RECEIVABLE(112, "ZD09", "23", "收件", "功能类型"),
    FUNCTIONAL_TYPES_NETWORK_PROJECT(113, "ZD09", "24", "项目", "功能类型"),
    FUNCTIONAL_TYPES_NETWORK_DISTRIBUTED(338, "ZD09", "25", "集散", "功能类型"),
    FUNCTIONAL_TYPES_NETWORK_SET_GOODS(339, "ZD09", "26", "集货", "功能类型"),
    FUNCTIONAL_TYPES_NETWORK_BULK(340, "ZD09", "27", "散货", "功能类型"),
    NETWORK_TYPE_HEADQUARTERS(22, "ZD08", "16", "总部", "网点类型"),
    NETWORK_TYPE_AGENT_AREA(334, "ZD08", "17", "代理区", "网点类型"),
    NETWORK_TYPE_CENTER(335, "ZD08", "18", "中心", "网点类型"),
    NETWORK_TYPE_FIRST_LEVEL(336, "ZD08", "19", "一级网点", "网点类型"),
    NETWORK_TYPE_SECOND_LEVEL(337, "ZD08", "20", "二级网点", "网点类型"),
    SITESTAFF_SALESMAN(330, "ZD109", "1", "业务员", "员工类别"),
    SITESTAFF_OPERATOR(331, "ZD109", "2", "操作员", "员工类别"),
    SITESTAFF_VIRTUALCONTRACTINGAREA(332, "ZD109", "3", "虚拟承包区", "员工类别"),
    SITESTAFF_OTHER(333, "ZD109", "4", "其他", "员工类别"),
    CUSTOMER_JMS(325, "ZD108", "01", "JMS系统", "客户来源"),
    CUSTOMER_PINDUODUO(326, "ZD108", "02", "拼多多", "客户来源"),
    CUSTOMER_CAINIAO(327, "ZD108", "03", "菜鸟", "客户来源"),
    CUSTOMER_JINGDONG(328, "ZD108", "04", "京东", "客户来源"),
    CUSTOMER_OTHER(329, "ZD108", "100", "其他", "客户来源"),
    CUSTOMER_NETWORK_SHARE(322, "ZD107", "01", "全网共享", "客户共享"),
    CUSTOMER_SUBORDINATE_SHARE(323, "ZD107", "02", "下级共享", "客户共享"),
    CUSTOMER_NO_SHARE(324, "ZD107", "03", "不共享", "客户共享"),
    CUSTOMER_PP_PM(319, "ZD106", "PP_PM", "寄付月结", "结算方式"),
    CUSTOMER_PP_CASH(320, "ZD106", "PP_CASH", "寄付现结", "结算方式"),
    CUSTOMER_CC_CASH(321, "ZD106", "CC_CASH", "到付现结", "结算方式"),
    CUSTOMER_LEVEL_VIP(317, "ZD105", "01", "VIP", "客户等级"),
    CUSTOMER_LEVEL_ORDINARY(318, "ZD105", "02", "普通", "客户等级"),
    CUSTOMER_MONTHLY_SETTLEMENT(315, "ZD104", "01", "月结", "账期类型"),
    CUSTOMER_DAILY_SETTLEMENT(316, "ZD104", "02", "周结", "账期类型"),
    CUSTOMER_VAT_TICKET(312, "ZD103", "01", "增值税专票", "发票类型"),
    CUSTOMER_VAT_PASS(313, "ZD103", "02", "增值税普票", "发票类型"),
    CUSTOMER_ORDINARY_ELECTRONIC_INVOICE(314, "ZD103", "03", "普通电子发票", "发票类型"),
    CUSTOMER_ELECTRONIC_BILLING(310, "ZD102", "01", "电子账单", "账单类型"),
    CUSTOMER_PAPER_BILLING(311, "ZD102", "02", "纸质账单", "账单类型"),
    CUSTOMER_REBATE_CYCLE_THREE(306, "ZD101", "01", "3天", "返款周期"),
    CUSTOMER_REBATE_CYCLE_SEVEN(307, "ZD101", "02", "7天", "返款周期"),
    CUSTOMER_REBATE_CYCLE_FIFTEEN(308, "ZD101", "03", "15天", "返款周期"),
    CUSTOMER_REBATE_CYCLE_THIRTY(309, "ZD101", "04", "30天", "返款周期"),
    CUSTOMER_NATURE_STATE_OWNED(300, "ZD100", "01", "国有", "客户性质"),
    CUSTOMER_NATURE_PRIVATE(301, "ZD100", "02", "民营", "客户性质"),
    CUSTOMER_NATURE_SHARE(302, "ZD100", "03", "股份制", "客户资料"),
    CUSTOMER_NATURE_FOREIGN_INVESTMENT(303, "ZD100", "04", "外资", "客户性质"),
    CUSTOMER_NATURE_ORGANIZATION(304, "ZD100", "05", "社会组织机构", "客户性质"),
    CUSTOMER_NATURE_PERSONAL(305, "ZD100", "06", "个人", "客户性质"),
    DELAY_TYPE_MISS(326, "ZD22", "1", "未赶上车次", "留仓类型"),
    DELAY_TYPE_EXPRESS_LEAKAGE(327, "ZD22", "2", "快件漏扫", "留仓类型"),
    DOCUMENT_TYPE_ORDER(8, "ZD01", "1", "订单", "单据类型"),
    DOCUMENT_TYPE_WAYBILL(9, "ZD01", "2", "运单", "单据类型"),
    COST_TYPE_RECEIVABLE(10, "ZD02", "3", "应收", "费用类型分类"),
    COST_TYPE_PAYABLE(11, "ZD02", "4", "应付", "费用类型分类"),
    SUBJECT_TYPE_DEBTOR(12, "ZD03", "5", "借方", "科目类型"),
    SUBJECT_TYPE_LENDER(13, "ZD03", "6", "贷方", "科目类型"),
    TYPES_OF_SERVICE_MODES_RECEIPT(14, "ZD04", "7", "收件", "服务方式所属类型"),
    TYPES_OF_SERVICE_MODES_PIE(15, "ZD04", "8", "派件", "服务方式所属类型"),
    PRODUCT_TYPE_EXPRESS_TRANSPORTATION(16, "ZD05", "9", "快运", "产品类型"),
    PRODUCT_TYPE_EXPRESS(17, "ZD05", "10", "快递", "产品类型"),
    TYPE_OF_OPERATION_PIENEW(66, "ZD06", "01", "派件", "操作类型"),
    TYPE_OF_OPERATION_PICK_UP_PARTS(18, "ZD06", "11", "取件", "操作类型"),
    TYPE_OF_OPERATION_DISTRIBUTION_AND_SORTING(19, "ZD06", "13", "分拨分拣", "操作类型"),
    TYPE_OF_OPERATION_REMAIN_IN_STORAGE(67, "ZD06", "Z4", "留仓", "操作类型"),
    MANAGEMENT_MODEL_BE_RUN_DIRECTLY_BY_A_MANUFACTURER(32, "ZD12", "26", "直营", "经营模式"),
    MANAGEMENT_MODEL_JOIN_IN(33, "ZD12", "27", "加盟", "经营模式"),
    MANAGEMENT_MODEL_AGENT(59, "ZD12", "103", "代理商", "经营模式"),
    ADDRESS_TYPE_MAILING(34, "ZD13", "28", "寄件", "地址类型"),
    ADDRESS_TYPE_RECEIPTNEW(35, "ZD13", "29", "收件", "地址类型"),
    CUSTOMER_TYPE_ENTERPRISE(36, "ZD14", "01", "企业", "客户类型"),
    CUSTOMER_TYPE_PERSONAL(37, "ZD14", "02", "个人", "客户类型"),
    TYPES_OF_MEASUREMENT_UNITS_LENGTH(42, "ZD17", "36", "长度", "计量单位类型"),
    TYPES_OF_MEASUREMENT_UNITS_WEIGHT(43, "ZD17", "37", "重量", "计量单位类型"),
    TYPES_OF_MEASUREMENT_UNITS_VOLUME(44, "ZD17", "38", "体积", "计量单位类型"),
    TYPES_OF_MEASUREMENT_UNITS_PACKAGE(108, "ZD17", "ZD17_1", "包装单位", "计量单位类型"),
    CUSTOMER_QUOTATION_MODEL_STANDARD_QUOTATION(46, "ZD18", "01", "标准报价", "客户报价模式"),
    CUSTOMER_QUOTATION_MODEL_CUSTOMIZED_QUOTATION(47, "ZD18", "02", "定制报价", "客户报价模式"),
    WEIGHT_TYPE_KG(86, "ZD25", "ZD25_1", "KG", "重量模式"),
    WEIGHT_TYPE_G(87, "ZD25", "ZD25_2", "100g", "重量模式"),
    CARRY_MODE_ROUNDING_UP(88, "ZD26", "ZD26_1", "四舍五入", "进位方式"),
    CARRY_MODE_ZERO_POINT_ONE(89, "ZD26", "ZD26_2", "0.1进位", "进位方式"),
    TYPE_OF_DISCOUNT_WEIGHT(90, "ZD27", "ZD27_1", "重量阶梯", "折扣类型"),
    TYPE_OF_DISCOUNT_COST(91, "ZD27", "ZD27_2", "费用阶梯", "折扣类型"),
    TYPE_OF_DISCOUNT_TICKET(92, "ZD27", "ZD27_3", "票量阶梯", "折扣类型"),
    ACCESS_TASK_STATUS_CANCELLED(102, "ZD30", "1", "已取消", "取件任务状态"),
    ACCESS_TASK_STATUS_SCHEDULED(103, "ZD30", "2", "已调度", "取件任务状态"),
    MISSION_STATUS_CANCELLEDNEW(99, "ZD31", "1", "已取消", "派件任务状态"),
    MISSION_STATUS_DISPATCHED(100, "ZD31", "2", "已派件", "派件任务状态"),
    MISSION_STATUS_TO_BE_DISPATCHED(101, "ZD31", "3", "待派件", "派件任务状态"),
    WAYBILL_SOURCE_SYSTEM(105, "ZD32", "1", "系统", "运单来源"),
    WAYBILL_SOURCE_APP(106, "ZD32", "2", "巴枪APP", "运单来源"),
    WAYBILL_SOURCE_ORDERNEW(107, "ZD32", "3", "订单", "运单来源");

    private String code;
    private Integer id;
    private String name;
    private String cnName;
    private String enName;
    private String type;
    private String description;

    private CategoryEnum(Integer id, String type, String code, String name, String description) {
        this.id = id;
        this.type = type;
        this.code = code;
        this.name = name;
        this.description = description;
    }

    public static String getNameById(Integer id) {
        CategoryEnum[] var1 = values();
        int var2 = var1.length;

        for(int var3 = 0; var3 < var2; ++var3) {
            CategoryEnum categoryEnum = var1[var3];
            if (categoryEnum.getId().equals(id)) {
                return categoryEnum.getName();
            }
        }

        return null;
    }

    public static Integer getIdByName(String name) {
        CategoryEnum[] var1 = values();
        int var2 = var1.length;

        for(int var3 = 0; var3 < var2; ++var3) {
            CategoryEnum categoryEnum = var1[var3];
            if (categoryEnum.getName().equals(name)) {
                return categoryEnum.getId();
            }
        }

        return null;
    }

    public static String getCodeById(Integer id) {
        CategoryEnum[] var1 = values();
        int var2 = var1.length;

        for(int var3 = 0; var3 < var2; ++var3) {
            CategoryEnum categoryEnum = var1[var3];
            if (categoryEnum.getId().equals(id)) {
                return categoryEnum.getCode();
            }
        }

        return null;
    }

    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getCnName() {
        return this.cnName;
    }

    public void setCnName(String cnName) {
        this.cnName = cnName;
    }

    public String getEnName() {
        return this.enName;
    }

    public void setEnName(String enName) {
        this.enName = enName;
    }

    public String getType() {
        return this.type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCode() {
        return this.code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

}